package com.ruoyi.erecord.employee.domain.vo;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.annotation.Translation;
import com.ruoyi.common.constant.TransConstant;
import com.ruoyi.common.convert.ExcelDeptConvert;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.convert.ExcelPostConvert;
import com.ruoyi.common.tools.convert.ExcelOssDownloadConver;
import com.ruoyi.common.tools.convert.ExcelOssUrlConver;

import lombok.Data;



/**
 * 人员视图对象 t_employee
 *
 * @author cc
 * @date 2023-04-13
 */
@Data
@ExcelIgnoreUnannotated
public class EmployeeVo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;
    
    /**
     * 人员编码
     */
    @ExcelProperty(value = "人员编码")
    private String employeeCode;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String employeeName;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    private Integer sex;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String identityId;

    /**
     * 出生日期
     */
    @ExcelProperty(value = "出生日期")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date birthdate;

    /**
     * 服务部门
     */
    @ExcelProperty(value = "服务部门" , converter = ExcelDeptConvert.class)
    private Long deptId;

    @Translation(type = TransConstant.DEPT_ID_TO_NAME , mapper = "deptId")
    private String deptName;
    
    /**
     * 岗位
     */
    @ExcelProperty(value = "岗位" , converter = ExcelPostConvert.class)
    private Long postId;

    @Translation(type = TransConstant.POST_ID_TO_NAME , mapper = "postId")
    private String postName;
    
    /**
     * 服务类型
     */
    @ExcelProperty(value = "服务类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "erecord_service_type")
    private Integer serviceType;
    
    /**
     * 劳动合同
     */
    //@ExcelProperty(value = "劳动合同", converter = ExcelOssUrlConver.class)
    private String laborContract;

    @Translation(type = TransConstant.OSS_ID_TO_URL , mapper = "laborContract")
    private String laborContractUrl;
    /**
     * 学历
     */
    @ExcelProperty(value = "学历", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "employee_user_education")
    private Integer education;

    /**
     * 职称
     */
    @ExcelProperty(value = "职称")
    private String professionalTitle;

    /**
     * 入职日期
     */
    @ExcelProperty(value = "入职日期")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date entryDate;

    /**
     * 离职日期
     */
    @ExcelProperty(value = "离职日期")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date quitDate;

    /**
     * 手机号码
     */
    @ExcelProperty(value = "手机号码")
    private String phone;

    /**
     * 社保
     */
    @ExcelProperty(value = "社保", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "common_status_have_or_not")
    private String socialInsurance;

    /**
     * 意外险
     */
    @ExcelProperty(value = "意外险", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "common_status_have_or_not")
    private String accidentInsurance;

    /**
     * 身份证扫描件
     */
    //@ExcelProperty(value = "身份证扫描件" , converter = ExcelOssDownloadConver.class)
    private String identityPicture;

    @Translation(type = TransConstant.OSS_ID_TO_URL , mapper = "identityPicture")
    private String identityPictureUrl;
    
    /**
     * 资格证书
     */
    //@ExcelProperty(value = "资格证书", converter = ExcelOssUrlConver.class)
    private String qualification;

    @Translation(type = TransConstant.OSS_ID_TO_URL , mapper = "qualification")
    private String qualificationUrl;
    
    /**
     * 员工状态
     */
    @ExcelProperty(value = "员工状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "employee_user_status")
    private Integer employeeStatus;
    
    
    private String avtar;
    
    @Translation(type = TransConstant.OSS_ID_TO_URL , mapper = "avtar")
    private String avtarUrl;
    
    /**
     * 创建日期
     */
    //@ExcelProperty(value = "创建日期")
    private Date createTime;

    /**
     * 创建人
     */
    //@ExcelProperty(value = "创建人")
    private String createBy;

    /**
     * 更新日期
     */
    //@ExcelProperty(value = "更新日期")
    private Date updateTime;

    /**
     * 更新人
     */
    //@ExcelProperty(value = "更新人")
    private String updateBy;


    
}
